package com.ruoyi.prod.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.HttpStatus;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.web.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.prod.mapper.TbProdMapper;
import com.ruoyi.prod.domain.TbProd;
import com.ruoyi.prod.service.ITbProdService;

import javax.servlet.http.HttpServletRequest;

/**
 * 商品列表Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-08-02
 */
@Service
public class TbProdServiceImpl implements ITbProdService 
{
    @Autowired
    private TbProdMapper tbProdMapper;


    /**
     * 查询商品列表
     * 
     * @param prodId 商品列表主键
     * @return 商品列表
     */
    @Override
    public TbProd selectTbProdByProdId(Integer prodId)
    {
        return tbProdMapper.selectTbProdByProdId(prodId);
    }

    /**
     * 查询商品列表列表
     * 
     * @param tbProd 商品列表
     * @return 商品列表
     */
    @Override
    public List<TbProd> selectTbProdList(TbProd tbProd)
    {
        return tbProdMapper.selectTbProdList(tbProd);
    }

    /**
     * 新增商品列表
     * 
     * @param tbProd 商品列表
     * @return 结果
     */
    @Override
    public int insertTbProd(TbProd tbProd)
    {
        tbProd.setCreateTime(DateUtils.getNowDate());
        return tbProdMapper.insertTbProd(tbProd);
    }

    /**
     * 修改商品列表
     * 
     * @param tbProd 商品列表
     * @return 结果
     */
    @Override
    public int updateTbProd(TbProd tbProd)
    {
        tbProd.setUpdateTime(DateUtils.getNowDate());
        return tbProdMapper.updateTbProd(tbProd);
    }

    /**
     * 批量删除商品列表
     * 
     * @param prodIds 需要删除的商品列表主键
     * @return 结果
     */
    @Override
    public int deleteTbProdByProdIds(Integer[] prodIds)
    {
        return tbProdMapper.deleteTbProdByProdIds(prodIds);
    }

    /**
     * 删除商品列表信息
     * 
     * @param prodId 商品列表主键
     * @return 结果
     */
    @Override
    public int deleteTbProdByProdId(Integer prodId)
    {
        return tbProdMapper.deleteTbProdByProdId(prodId);
    }

    @Override
    public TableDataInfo getProdList(TbProd tbProd, Integer pageNum, Integer pageSize) {
        Page<TbProd> page = new Page<>(pageNum, pageSize);
        Page<TbProd> tbProdPage = tbProdMapper.selectPage(page,null);
        TableDataInfo resDate = new TableDataInfo();
        resDate.setCode(HttpStatus.SUCCESS);
        resDate.setRows(tbProdPage.getRecords());
        resDate.setMsg("查询成功");
        resDate.setTotal(tbProdPage.getTotal());
        return resDate;
    }


}
